package com.ruoyi.workorder.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 工单对象 work_order
 * 
 * @author zhaogang
 * @date 2024-07-23
 */
public class WorkOrder extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 工作联系单主键 */
    private Long woId;

    /** 工单类别主键 */
    @Excel(name = "工单类别主键")
    private Long woCatalogId;
    private String woCatalogName;

    /** 项目主键 */
    @Excel(name = "项目主键")
    private Long projectId;
    private String projectName;

    /** 活动主键 */
    @Excel(name = "活动主键")
    private Long avtivityId;

    /** 工单编号 */
    @Excel(name = "工单编号")
    private String woNumber;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date woStart;

    /** 截止时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "截止时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date woEnd;

    /** 工单标签 */
    @Excel(name = "工单标签")
    @Length(min=0,max = 50 ,message = "长度不能大于50个字符")
    private String woTag;

    /** 工单标题 */
    @Excel(name = "工单标题")
    @NotBlank(message = "标题不能为空")
    @Length(min=0,max = 200 ,message = "长度不能大于200个字符")
    private String woTitle;

    /** 事由内容 */
    @Excel(name = "事由内容")
    @NotBlank(message = "事由内容不能为空")
    @Length(min=0,max = 800 ,message = "长度不能大于800个字符")
    private String woContent;

    /** 创建人id */
    @Excel(name = "创建人id")
//    @NotNull(message = "创建人不能为空")
    private Long createId;
    private String createName;

    /** 责任人id */
    @Excel(name = "责任人id")
    @NotNull(message = "责任人不能为空")
    private Long responsibleId;
    private String responsibleName;

    /** 协助人id */
    @Excel(name = "协助人id")
    private Long helpId;
    private String helpName;

    /** 抄报人id */
    @Excel(name = "抄报人id")
    private Long reporterId;
    private String reporterName;

    /** 抄送人id */
    @Excel(name = "抄送人id")
    private Long copyId;
    private String copyName;

    /** 工单状态,1-待处理, 2-通过, 3-退回 */
    @Excel(name = "工单状态,1-待处理, 2-通过, 3-退回")
    private Integer woStatus;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date woDate;

    /** 工单图片 */
    private String images;

    /** 用户电话 */
    private String tel;

    /** 负责人电话 */
    private String responsibleNameTel;


    public Long getWoId() {
        return woId;
    }

    public void setWoId(Long woId) {
        this.woId = woId;
    }

    public Long getWoCatalogId() {
        return woCatalogId;
    }

    public void setWoCatalogId(Long woCatalogId) {
        this.woCatalogId = woCatalogId;
    }

    public Long getProjectId() {
        return projectId;
    }

    public void setProjectId(Long projectId) {
        this.projectId = projectId;
    }

    public String getProjectName() {
        return projectName;
    }

    public void setProjectName(String projectName) {
        this.projectName = projectName;
    }

    public Long getAvtivityId() {
        return avtivityId;
    }

    public void setAvtivityId(Long avtivityId) {
        this.avtivityId = avtivityId;
    }

    public String getWoNumber() {
        return woNumber;
    }

    public void setWoNumber(String woNumber) {
        this.woNumber = woNumber;
    }

    public Date getWoStart() {
        return woStart;
    }

    public void setWoStart(Date woStart) {
        this.woStart = woStart;
    }

    public Date getWoEnd() {
        return woEnd;
    }

    public void setWoEnd(Date woEnd) {
        this.woEnd = woEnd;
    }

    public String getWoTag() {
        return woTag;
    }

    public void setWoTag(String woTag) {
        this.woTag = woTag;
    }

    public String getWoTitle() {
        return woTitle;
    }

    public void setWoTitle(String woTitle) {
        this.woTitle = woTitle;
    }

    public String getWoContent() {
        return woContent;
    }

    public void setWoContent(String woContent) {
        this.woContent = woContent;
    }

    public Long getCreateId() {
        return createId;
    }

    public void setCreateId(Long createId) {
        this.createId = createId;
    }

    public Long getResponsibleId() {
        return responsibleId;
    }

    public void setResponsibleId(Long responsibleId) {
        this.responsibleId = responsibleId;
    }

    public Long getHelpId() {
        return helpId;
    }

    public void setHelpId(Long helpId) {
        this.helpId = helpId;
    }

    public Long getReporterId() {
        return reporterId;
    }

    public void setReporterId(Long reporterId) {
        this.reporterId = reporterId;
    }

    public Long getCopyId() {
        return copyId;
    }

    public void setCopyId(Long copyId) {
        this.copyId = copyId;
    }

    public Integer getWoStatus() {
        return woStatus;
    }

    public void setWoStatus(Integer woStatus) {
        this.woStatus = woStatus;
    }

    public Date getWoDate() {
        return woDate;
    }

    public void setWoDate(Date woDate) {
        this.woDate = woDate;
    }

    public String getWoCatalogName() {
        return woCatalogName;
    }

    public void setWoCatalogName(String woCatalogName) {
        this.woCatalogName = woCatalogName;
    }

    public String getCreateName() {
        return createName;
    }

    public void setCreateName(String createName) {
        this.createName = createName;
    }

    public String getResponsibleName() {
        return responsibleName;
    }

    public void setResponsibleName(String responsibleName) {
        this.responsibleName = responsibleName;
    }

    public String getHelpName() {
        return helpName;
    }

    public void setHelpName(String helpName) {
        this.helpName = helpName;
    }

    public String getReporterName() {
        return reporterName;
    }

    public void setReporterName(String reporterName) {
        this.reporterName = reporterName;
    }

    public String getCopyName() {
        return copyName;
    }

    public void setCopyName(String copyName) {
        this.copyName = copyName;
    }

    public String getImages() {
        return images;
    }

    public void setImages(String images) {
        this.images = images;
    }

    public String getTel() {
        return tel;
    }

    public void setTel(String tel) {
        this.tel = tel;
    }

    public String getResponsibleNameTel() {
        return responsibleNameTel;
    }

    public void setResponsibleNameTel(String responsibleNameTel) {
        this.responsibleNameTel = responsibleNameTel;
    }

    @Override
    public String toString() {
        return "WorkOrder{" +
                "woId=" + woId +
                ", woCatalogId=" + woCatalogId +
                ", woCatalogName='" + woCatalogName + '\'' +
                ", projectId=" + projectId +
                ", projectName='" + projectName + '\'' +
                ", avtivityId=" + avtivityId +
                ", woNumber='" + woNumber + '\'' +
                ", woStart=" + woStart +
                ", woEnd=" + woEnd +
                ", woTag='" + woTag + '\'' +
                ", woTitle='" + woTitle + '\'' +
                ", woContent='" + woContent + '\'' +
                ", createId=" + createId +
                ", createName='" + createName + '\'' +
                ", responsibleId=" + responsibleId +
                ", responsibleName='" + responsibleName + '\'' +
                ", helpId=" + helpId +
                ", helpName='" + helpName + '\'' +
                ", reporterId=" + reporterId +
                ", reporterName='" + reporterName + '\'' +
                ", copyId=" + copyId +
                ", copyName='" + copyName + '\'' +
                ", woStatus=" + woStatus +
                ", woDate=" + woDate +
                ", images='" + images + '\'' +
                ", tel='" + tel + '\'' +
                ", responsibleNameTel='" + responsibleNameTel + '\'' +
                '}';
    }


}
